#ifndef _CAT_STATE_BASE_INJURED_H_
#define _CAT_STATE_BASE_INJURED_H_
#include "Supporting/Enums/EnumCatAnimation.h"

class CatState;


class CatState_Base_Injured: public CatState
{
protected:
	static const int INJURED_BLINKING_TIMES = 3;
	float 	_injuredAnimationDuration,
			_invulTimer;
	bool	_isInvulnerable;

	EnumCatAnimation	playInjuredAnimation();
	void	playInjuredAudio(EnumCatAnimation catAnim);
	void	playStatusEffectAnimation();
	void	playInvulnerableAnimation();
	void	playSkillImmuneAnimation();

	virtual void runOnEnter();

public:
	CatState_Base_Injured(BaseCat* pCatRef);
	virtual ~CatState_Base_Injured();


	virtual void update(float timeDiff);
	virtual void onExit();
	virtual void onPause();
};


#endif
